package controleabastecimento2.activies;

import java.util.List;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
import controleabastecimento2.dao.DAOVeiculo;
import controleabastecimento2.model.Veiculo;
import controleabastecimento2.model.Veiculo.Veiculos;

public class ListarVeiculo extends ListActivity {

	protected static final int EDITAR = 1;
	protected static final int VOLTAR = 2;
	
	public static DAOVeiculo daoVeiculo;
	protected List<Veiculo> veiculos;

	@Override
	protected void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		daoVeiculo = new DAOVeiculo(this);
		atualizarLista();
	}
	
	protected void atualizarLista(){
		veiculos = daoVeiculo.listarCarros();
		setListAdapter(new PesquisarVeiculo(this, veiculos));
	}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		super.onCreateOptionsMenu(menu);
		menu.add(0, EDITAR, 0, "Editar").setIcon(R.drawable.novo);
		menu.add(0, VOLTAR, 0, "Voltar").setIcon(R.drawable.sair);
		return true;
	}
	
	@Override
	public boolean onMenuItemSelected(int featureId, MenuItem item) {


		switch (item.getItemId()) {
		case EDITAR:
			startActivityForResult(new Intent(this, EditarVeiculo.class), EDITAR);
			break;
		
		case VOLTAR:
			startActivity(new Intent(this, MenuActivity.class));
			break;
		}

		return true;
	}
	
	protected void onListItemClick(ListView l, View v, int position, Integer codigo) {
		super.onListItemClick(l, v, position, codigo);
		editarVeiculo(position);
	}
	
	protected void editarVeiculo(int position){
		Veiculo veiculo = veiculos.get(position);
		Intent it = new Intent(this, EditarVeiculo.class);
		it.putExtra(Veiculos.CODIGO, veiculo.getCodigo());
		startActivityForResult(it, EDITAR);
	}
	
	@Override
	protected void onActivityResult(int codigo, int codigoRetorno, Intent it) {
		super.onActivityResult(codigo, codigoRetorno, it);


		if (codigoRetorno == RESULT_OK) {

			atualizarLista();
		}
	}

	@Override
	protected void onDestroy() {
		super.onDestroy();


		daoVeiculo.fechar();
	}

}
